/* wiFrame 覆写 */
.txt{
    border-color: #ccc;
    height: 34px;
    line-height: 32px;
}
.btn{
    height: 34px;
    line-height: 32px;
    padding: 0 12px;
    font-size: 14px;
    border-radius: 3px;
}
.btn-min{
    height: 28px;
    line-height: 26px;
    padding: 0 4px;
    border-radius: 2px;
}
.btn{
    color: #fff;
    background-color: #5bc0de;
    border-color: #49b8da;
}
.btn:hover{
    color: #fff;
    background-color: #3cb3d7;
    border-color: #279abc;
}
.btn-default{
    color: #000;
    background-color: #fff;
    border-color: #c6c6c6;
}
.btn-default:hover{ /*
    color: #000;
    background-color:#ebebeb;
    border-color:#c6c6c6;*/
    color: #fff;
    background-color: #5cb85c;
    border-color: #4eae4e;
}
.btn-conf{
    color: #000;
    background-color: #eee;
    border-color: #ccc;
}
.btn-conf:hover{
    color: #000;
    background-color: #ddd;
    border-color: #ccc;
}
.btn-primary{
    color: #fff;
    background-color: #458bca;
    border-color: #387ebd;
}
.btn-primary:hover{
    color: #fff;
    background-color: #3576b1;
    border-color: #295e8e;
}
.btn-success{
    color: #fff;
    background-color: #5cb85c;
    border-color: #4eae4e;
}
.btn-success:hover{
    color: #fff;
    background-color: #49a449;
    border-color: #3c843c;
}
.btn-warn{
    color: #fff;
    background-color: #f0ad50;
    border-color: #eea239;
}
.btn-warn:hover{
    color: #fff;
    background-color: #ed9c29;
    border-color: #d58511;
}
.btn-danger{
    color: #fff;
    background-color: #d95451;
    border-color: #d4423d;
}
.btn-danger:hover{
    color: #fff;
    background-color: #d2352f;
    border-color: #ac2b26;
}
/******************/
.t_green{ color: #5db75d; }
.t_red{ color: #d9544f; }
.t_orange{ color: #efad4d; }
.t_yellow{ color: #f7e50a; }
.t_blue{ color: #418bca; }
.t_cyan{ color: #5bc0de; }
.t_smoke{ color: #f0f0f0; }
.t_dim{ color: #555; }
.t_white{ color: #fff; }
.bg_green{ background-color: #5db75d; }
.bg_red{ background-color: #d9544f; }
.bg_orange{ background-color: #efad4d; }
.bg_yellow{ background-color: #f7e50a; }
.bg_blue{ background-color: #418bca; }
.bg_cyan{ background-color: #5bc0de; }
.bg_smoke{ background-color: #f0f0f0; }
.bg_dim{ background-color: #555; }
.star-l,
.star-r{ color: #ec3a3a; }
.star-l{ padding-right: 5px; }
.star-r{ padding-left: 5px; }
.btns-ctrl{ text-align: center; }
.btns-ctrl > .btn{ margin-left: 10px; }
.btns-ctrl > .btn:first-child{ margin-left: 0; }
/* iframe 避免底部留白 */
.frameblock{ display: block; }
.abs{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: auto;
}
.abs-c{
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    overflow: auto;
}
.abs-t,
.abs-b{
    position: absolute;
    left: 0;
    right: 0;
}
.abs-t{
    top: 0;
    padding: 0 7px;
    line-height: 40px;
    border-bottom: solid 1px #ddd;
    /*overflow:hidden;*/
    overflow: visible; /* 头部放置日期框，导致无法正常弹出，故改为溢出可见 */
}
.abs-b{
    bottom: 0;
    line-height: 44px;
    border-top: solid 1px #eee;
    background: #fff;
    overflow: hidden;
}
.abs-l,
.abs-r{
    position: absolute;
    top: 0;
    bottom: 0;
    overflow: auto;
}
.abs-l{ left: 0; }
.abs-r{ right: 0; }
.hastop > .abs-t{ height: 41px; }
.hastop > .abs-c{ top: 41px; }
.hastop2 > .abs-t{ height: 81px; }
.hastop2 > .abs-c{ top: 81px; }
.hasbot > .abs-b{ height: 45px; }
.hasbot > .abs-c{ bottom: 45px; }
.hasleft > .abs-l{ width: 200px; }
.hasleft > .abs-c{ left: 200px; }
.hasrig > .abs-r{ width: 200px; }
.hasrig > .abs-c{ right: 200px; }
body{ background: #fff; }
.wrap{ min-width: 1024px; }
.wrap-abs{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: auto;
}
.wrap-in{ min-width: 100%; }
.wrap-inabs,
.wrap-layer{
    min-width: 100%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: auto;
}
/* wrap 下一级 */
.wrap-head{
    height: 50px;
    padding: 0 8px;
    line-height: 48px;
    font-size: 16px;
    color: #02a5e0;
    background: #fff;
    border-bottom: solid 2px #eee;
}
.wrap-abs > .wrap-cont,
.wrap-inabs > .wrap-cont,
.wrap-layer > .wrap-cont,
.wrap-abs > .wrap-foot,
.wrap-inabs > .wrap-foot,
.wrap-layer > .wrap-foot{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    overflow: auto;
}
.wrap-abs > .wrap-head + .wrap-cont,
.wrap-inabs > .wrap-head + .wrap-cont,
.wrap-layer > .wrap-head + .wrap-cont{ top: 50px; }
.wrap-abs.hasfoot > .wrap-cont,
.wrap-inabs.hasfoot > .wrap-cont,
.wrap-layer.hasfoot > .wrap-cont{ bottom: 45px; }
.wrap-abs > .wrap-foot,
.wrap-inabs > .wrap-foot,
.wrap-layer > .wrap-foot{
    top: auto;
    height: 45px;
    line-height: 44px;
    border-top: solid 1px #eee;
    background: #fff;
    overflow: hidden;
}
/* wrap-head */
.wrap-head-l,
.wrap-head-r{
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.wrap-head-r{
    float: right;
    padding-left: 10px;
}
/* 原本为 baseline，为处理按钮无数据时会上浮到顶的问题，改为 middle - 若需改回 baseline，则将按钮中强制加 &nbsp; */
.wrap-head .btn,
.wrap-head .txt{ vertical-align: middle; }
/* wrap-cont */
.wrap-cont-c{
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    overflow: auto;
}
.wrap-cont-t,
.wrap-cont-b{
    position: absolute;
    left: 0;
    right: 0;
}
.wrap-cont-t{
    top: 0;
    padding: 0 7px;
    line-height: 40px;
    border-bottom: solid 1px #ddd;
    /*overflow:hidden;*/
    overflow: visible; /* 头部放置日期框，导致无法正常弹出，故改为溢出可见 */
}
.wrap-cont-b{
    bottom: 0;
    line-height: 44px;
    border-top: solid 1px #eee;
    background: #fff;
    overflow: hidden;
}
.hastop > .wrap-cont-t{ height: 41px; }
.hastop > .wrap-cont-c{ top: 41px; }
.hastop2 > .wrap-cont-t{ height: 81px; }
.hastop2 > .wrap-cont-c{ top: 81px; }
.hasbot > .wrap-cont-b{ height: 45px; }
.hasbot > .wrap-cont-c{ bottom: 45px; }
/* wrap-foot */

/* layer 页面 */
.wrap-layer{ }
.wrap-layer.hasfoot{ }
.wrap-layer > .wrap-cont,
.wrap-layer.hasfoot > .wrap-foot{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: auto;
}
.wrap-layer.hasfoot > .wrap-cont{ bottom: 45px; }
.wrap-layer.hasfoot > .wrap-foot{
    top: auto;
    height: 45px;
    line-height: 44px;
    overflow: hidden;
    background: #f7f7f7;
}
/* container */
.wrap-abs > .wrap-cont > .container{ min-height: 400px; }
/* 因部分有日期范围选择框的容器高度不够可能导致组件无法完整显示，故暂加此限制 TODO 能否将日期框弹出到 body */
.container{
    padding: 5px 8px;
    overflow: hidden;
}
.container:after{ content: ""; display: block; height: 0; clear: both; }
.container-abs{
    position: absolute;
    top: 5px;
    right: 8px;
    bottom: 5px;
    left: 8px;
    overflow: auto;
}
.container-abs > .container-l,
.container-abs > .container-r{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: auto;
}
/* 左侧固定 */
.container-l:first-child{ width: 200px; }
.container > .container-l:first-child{ float: left; }
.container > .container-l + .container-r{ margin-left: 204px; }
.container-abs > .container-l{
    right: auto;
    border: 1px solid #ddd;
}
.container-abs > .container-l + .container-r{ left: 204px; }
/* 右侧固定 */
.container-r:first-child{ width: 200px; }
.container > .container-r:first-child{ float: right; }
.container > .container-r + .container-l{ margin-right: 204px; }
.container-abs > .container-r{ left: auto; }
.container-abs > .container-r + .container-l{ right: 204px; }
/** panel **/
.panel{ }
.panel.panel-bg{ background: #fff; }
.panel-h:after{ content: " "; display: block; height: 0; clear: both; }
.panel-h{
    height: 40px;
    padding: 0 10px;
    line-height: 40px;
    color: #fff;
    background-color: #58b5e1;
    text-align: left;
    overflow: hidden;
}
.panel-h-stynobg{
    background: none;
    color: #000;
    padding-left: 0;
}
.panel-h-l{
    font-size: 15px;
    font-weight: bold;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.panel-h-r{
    float: right;
    padding-left: 5px;
}
.panel-h .btn,
.panel-h .txt{
    margin-top: 3px;
    vertical-align: top; /* 按钮中没有 value 为空时 baseline 无法对齐 */
}
/*.panel-h .txt{ width:200px;}*/
.panel-h .btn-min,
.panel-h .txt-min{ margin-top: 8px; }
.panel-hmin > .panel-h .btn-min,
.panel-hmin > .panel-h .txt-min{ margin-top: 1px; }
.panel-c{ padding-top: 5px; }
.panel-c.panel-c-stypad{ padding: 5px 10px !important; }
.panel-hmin > .panel-h{
    height: 25px;
    line-height: 25px;
    font-size: 13px;
}
.panel-hmin > .panel-c{ padding-top: 2px; }
.panel-hmin > .panel-c.panel-c-stypad{ padding: 2px 10px !important; }
.panel-c:first-child{ padding-top: 0; }
.panel-border > .panel-h{
    line-height: 39px;
    border: solid 1px #dde2e5;
    border-bottom: none;
}
.panel-border > .panel-h-styrline{ border: none; }
.panel-border.panel-hmin > .panel-h{
    line-height: 24px;
    background-position: 5px center;
    padding-left: 20px;
}
.panel-border > .panel-c{
    border: solid 1px #dde2e5;
    padding: 5px;
}
.panel-fixh{ position: relative; }
.panel-abs{
    position: absolute;
    top: 0; bottom: 0;
    left: 0; right: 0;
}
.panel-fixh > .panel-c,
.panel-abs > .panel-c{
    position: absolute;
    top: 40px; bottom: 0;
    left: 0; right: 0;
    overflow: auto;
}
.panel-fixh.panel-hmin > .panel-c,
.panel-abs.panel-hmin > .panel-c{ top: 25px; }
.panel-fixh > .panel-c:first-child,
.panel-abs > .panel-c:first-child{ top: 0; }
